﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LLServer.Battle
{
    public class Battle
    {
        private Data.Captain cpt1;
        private Data.Captain cpt2;
        private Grid cpt1_grid;
        private Grid cpt2_grid;
        private DateTime start_date;
        private DateTime end_date;
        private List<Turn> turns;
        private Result result;
        private bool paused;
        private string username1;
        private string username2;
        private bool isReady1;
        private bool isReady2;
        private bool hasStarted;
        private int hpPlayer1;
        private int hpPlayer2;

        #region Properties

        public string Username1
        {
            get { return username1; }
            set { username1 = value; }
        }

        public string Username2
        {
            get { return username2; }
            set { username2 = value; }
        }
        public Data.Captain Cpt1
        {
            get { return cpt1; }
            set { cpt1 = value; }
        }

        public Data.Captain Cpt2
        {
            get { return cpt2; }
            set { cpt2 = value; }
        }

        public Grid Cpt1_grid
        {
            get { return cpt1_grid; }
            set { cpt1_grid = value; }
        }

        public Grid Cpt2_grid
        {
            get { return cpt2_grid; }
            set { cpt2_grid = value; }
        }

        public DateTime Start_date
        {
            get { return start_date; }
            set { start_date = value; }
        }

        public DateTime End_date
        {
            get { return end_date; }
            set { end_date = value; }
        }

        public List<Turn> Turns
        {
            get { return turns; }
            set { turns = value; }
        }

        public Result Result
        {
            get { return result; }
            set { result = value; }
        }

        public bool Paused
        {
            get { return paused; }
            set { paused = value; }
        }
        public bool IsReady1
        {
            get { return isReady1; }
            set { isReady1 = value; }
        }
        public bool IsReady2
        {
            get { return isReady2; }
            set { isReady2 = value; }
        }

        public bool HasStarted
        {
            get { return hasStarted; }
            set { hasStarted = value; }
        }

        public int HpPlayer1
        {
            get { return hpPlayer1; }
            set { hpPlayer1 = value; }
        }

        public int HpPlayer2
        {
            get { return hpPlayer2; }
            set { hpPlayer2 = value; }
        }
#endregion

        public Battle()
        {
            turns = new List<Turn>();
            hpPlayer1 = 17;
            hpPlayer2 = 17;
        }

        public Turn DefineNextTurn()
        {
            return null;
        }
    }
}
